Zunächst eine kurze Einführung in den Stoff von heute.
Nun, Leerstoff ist ein grundsätzliches Konzept, also vielleicht das Konzept der
Maschinenprogramm-Ebene überhaupt, nämlich der Simaphor-Technik, um
gleichzeitig Prozesse synchronisieren zu können, mit Primitiven dieser
Maschinenprogramm-Ebene implementiert, im Wesentlichen durch Mechanismen, die durch
ein Betriebssystem bereitgestellt werden. Wir werden einen binären Simaphor von
dem sogenannten allgemeinen Simaphor differenzieren. Für diese beiden
Begrifflichkeiten gibt es auch noch andere Bezeichnungen, so was wie
ausschließenden Simaphor für den binären oder der zählende Simaphor, für
den allgemeinen Simaphor. Dort findet man auch den sogenannten privaten
Simaphor angesiedelt. Im Wesentlichen werden wir uns also auf diese
Hauptbereiche binär allgemein ausschließend zählend denn im Wesentlichen
konzentrieren. Das sind zwei Varianten für bestimmte
Synchronisationsmuster, die wir bereits kennengelernt haben, nämlich die ein- und
die mehrseitige Synchronisation. Wir werden die Simaphor-Typen diesen
Synchronisationsmustern und diesen Synchronisationsarten denn entsprechend
zuordnen. Wir werden sehen, dass die Implementierung
eines Simaphors selbst alles andere als trivial ist. Wir verwenden zum Beispiel
Simaphor unter anderem um kritische Abschnitte, um wettlaufkritische
Aktionen letztlich zu bewältigen, müssen aber feststellen, dass bei der
Implementierung eines Simaphors wir selbst vor dem Problem stehen, diese
Simaphor-Primitiven vor wettlaufkritischen Aktionen zu schützen.
Das heißt, sie sind selbst kritische Abschnitte. Wir müssen also diese
Primitiven der nach ihr Ablaufinvariant auslegen, weil wir sie selbst nicht durch
Simaphore schützen können. Das führt dann dazu, dass wir auf geeignete
Art und Weise eben unteilbare atomare Simaphor-Primitiven schaffen müssen.
Da sehen wir eben ein Beispiel eines typischen kritischen Abschnitts, wie er
denn halt etwa auf einer Betriebssystemebene existieren würde,
wenn man davon ausgeht, dass ein Betriebssystem denn so was wie ein
Simaphor-Konzept zur Verfügung stellt. Bei dieser Implementierung und bei den
Koordinierungsmaßnahmen, die innerhalb eines Simaphors, also innerhalb dieser
Primitiven des Simaphors, durchzuführen sind, werden wir sehen, dass hier die
Bedingungs-Synchronisation eine wichtige Rolle spielt auf Basis von Ereignisvariablen,
um letztendlich den koordinierten Ablauf der Operation oder der Prozesse,
die sich in diesen Simaphor-Operationen befinden, denn herbeiführen zu können.
Wir werden weiterhin den sogenannten Mutex, ein bestimmtes Konzept, was man eben
auch in der Literatur findet zum wechselseitigen Ausschluss, als
Basistechnik kennenlernen kann. Diesen Mutex werden wir eben als eine
bestimmte Erweiterung, eine funktionelle Erweiterung eines binären Simaphors
kennenlernen und zwar in dem Sinne, dass man damit einen sogenannten
autorisierten wechselseitigen Ausschluss durchführen kann.
Wir werden sehen, dass so ein Mutex eben so ein ausschließender oder ein binärer
Simaphor ist, der einem die Kontrolle der Eigentümerschaft über einen solchen
Simaphor denn eben bereitstellt. Auf der anderen Seite werden wir so gewisse
Kritikpunkte, die mit Simaphoren immer genannt worden sind, nämlich die
Tatsache, dass man eigentlich gar nicht genau weiß, welcher Prozess denn gerade
im Besitz eines Simaphors ist und welcher Prozess zum Beispiel einen Simaphor
freigeben darf, dass es gar kein Makel ist, sondern wir werden hoffentlich
erkennen, dass eben diese Eigenschaft wesentlich ist für die Implementierung
eines Simaphors und man dann praktisch diese Fragen der Eigentümerschaften
Presenters
Zugänglich über
Offener Zugang
Dauer
00:05:56 Min
Aufnahmedatum
2020-11-27
Hochgeladen am
2020-11-27 13:49:02
Sprache
de-DE